# Python list
# list = ['baidu', 'google', 12, 23];
# print(len(list))

list_num=[2,3,5,6,8,12]
# print(max(list_num)) # list 最大值
# print(min(list_num)) # list 最小值
# 列表的末尾追加新的内容
list_append = [1,2,3,4]
list_append.append(5)
# print(list_append)
# count 方法用于统计某个元素在列表中出现的次数
# num = [1, 2, 3, 4, 5, 5, 5, 5, 6]
# count = num.count(5)
# print(count)
# name=['a','a','abf','ark','nhk']
# print(name.count('a')) # 2

# extend 方法表示追加内容，它可以在列表的末尾一次性追加另一个序列中的多个值，也就是用新列表扩展原有列表
# a =[1,2,3]
# b = [4,5,6]
# a.extend(b)
# 此操作和列表的相加操作，但是追加操作改变原有列表，而相加不改变原有列表
# print(a + b)
# print(a)

# index 方法用于从列表中找出某个元素第一次匹配的位置的索引位置
# content = ['where','who','lisi','cntent','who']
# index = content.index('who')
# print(index)

# insert 方法用于像列表中插入对象 不重复添加
# num = [1,2,5,6,7]
# num.insert(2,3)
# print(num)

# pop 方法会移除列表中的一个元素（默认是最后一个），并且返回该元素的值
# x = [1,2,3]
# x.pop()
# print(x)
'''
注意：pop 方法是唯一一个既能修改列表又能返回元素值的方法（除了None）,
pop 和 append 方法是 Python 中数据结构的出栈和入栈，如果追加（append）刚刚出栈（pop）的值，
得到的还是原来的列表
'''
# x = [1,2,3]
# x.append(x.pop())
# print(x)

# remove 方法用于移除列表中第一个匹配的元素
# content = ['where', 'who', 'lisi', 'cntent', 'who', 'who']
# 移除了第一个匹配的元素
# content.remove('who')
# print(content)

# reverse 方法是将列表中的元素进行反转操作
# m = [1, 2, 3]
# # 元素反向存储
# m.reverse()
# print(m)

# sort 方法用于在原位置排序，‘原位置排序’意味着改变原来的列表而让列表中的元素有顺序排列
# x = [2,3,5,6,1,4,7]
# x.sort()
# print(x)

# clear 方法用于清空列表
# list_111 = ['baidu', 'google', 12, 23]
# list_111.clear()
# print(list_111)

# copy 方法是复制列表
# list_222 = ['baidu', 'google', 12, 23]
# list_copy = list_222.copy()
# print(list_copy)

# 列表基本操作
# names=['zhangsan','lisi','wangwu','zhaoliu']
# # 索引标记赋值
# names[0] = 'lt'
# # 删除
# del names[1]
# print(names)

# 分片赋值
# name = list('Pyther')
# 改变 list 中的最后两个值
# name[4:]='on'
# print(name)

# name_re = list('perl')
# 分片替换 下标1 以后的字符串替换包含1
# name_re[1:] = list('ython')
# print(name_re)

# num = [1,4,5]
# 在第一个元素后插入新的元素
# num[1:1]=[2,3]
# print(num)

num = [1, 2, 3, 4, 5]
# 给第一个和迪桑元素之间分片赋值一个空序列，即删除元素
# num[1:3] = []
# 负数分片操作 -1 下标赋值 直接覆盖
num[-1:-1] = [6,6,6]
print(num)